#define _CRT_SECURE_NO_WARNINGS 1

//class Solution {
//public:
//    vector<int> twoSum(vector<int>& nums, int target) {
//        int n = nums.size();
//        for (int i = 0; i < n; i++)
//        {
//            for (int j = i + 1; j < n; j++)
//                if (nums[i] + nums[j] == target)
//                    return { i,j };
//        }
//        return { -1,-1 };
//    }
//};

//class Solution {
//public:
//    int removeElement(vector<int>& nums, int val) {
//        int n = nums.size();
//        vector<int> arr(0);
//        for (int i = 0; i < n; i++)
//        {
//            if (nums[i] != val)
//            {
//                arr.push_back(nums[i]);
//            }
//        }
//        for (int i = 0; i < arr.size(); i++)
//            nums[i] = arr[i];
//        return arr.size();
//    }
//};

//class Solution
//{
//public:
//    int subarraySum(vector<int>& nums, int k)
//    {
//        unordered_map<int, int> hash;
//        int sum = 0, ret = 0; hash[0] = 1;
//
//        for (auto& s : nums)
//        {
//            sum += s;
//            if (hash.count(sum - k))  ret += hash[sum - k];
//            hash[sum]++;
//        }
//        return ret;
//    }
//};